using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("ArenaTrayDisplay")]
	public class ArenaTrayDisplay : MonoBehaviour
	{
		[Attribute38("ArenaTrayDisplay.ArenaKeyVisualData")]
		public class ArenaKeyVisualData : MonoClass
		{
			public Mesh m_Mesh => method_3<Mesh>("m_Mesh");

			public Material m_Material => method_3<Material>("m_Material");

			public Mesh m_KeyHoleGlowMesh => method_3<Mesh>("m_KeyHoleGlowMesh");

			public Texture m_EffectGlowTexture => method_3<Texture>("m_EffectGlowTexture");

			public Texture m_SelectionGlowTexture => method_3<Texture>("m_SelectionGlowTexture");

			public GameObject m_ParticlePrefab => method_3<GameObject>("m_ParticlePrefab");

			public string m_IdleEffectsPrefabPath => method_4("m_IdleEffectsPrefabPath");

			public ArenaKeyVisualData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public ArenaKeyVisualData(IntPtr address)
				: this(address, "ArenaKeyVisualData")
			{
			}
		}

		public int m_Rank => method_2<int>("m_Rank");

		public GameObject m_TheKeyMesh => method_3<GameObject>("m_TheKeyMesh");

		public GameObject m_TheKeyGlowPlane => method_3<GameObject>("m_TheKeyGlowPlane");

		public GameObject m_TheKeyGlowHoleMesh => method_3<GameObject>("m_TheKeyGlowHoleMesh");

		public GameObject m_TheKeySelectionGlow => method_3<GameObject>("m_TheKeySelectionGlow");

		public GameObject m_TheKeyOldSelectionGlow => method_3<GameObject>("m_TheKeyOldSelectionGlow");

		public float m_TheKeyTransitionDelay => method_2<float>("m_TheKeyTransitionDelay");

		public float m_TheKeyTransitionFadeInTime => method_2<float>("m_TheKeyTransitionFadeInTime");

		public float m_TheKeyTransitionFadeOutTime => method_2<float>("m_TheKeyTransitionFadeOutTime");

		public string m_TheKeyTransitionSound => method_4("m_TheKeyTransitionSound");

		public UberText m_WinCountUberText => method_3<UberText>("m_WinCountUberText");

		public GameObject m_RewardDoorPlates => method_3<GameObject>("m_RewardDoorPlates");

		public GameObject m_BehindTheDoors => method_3<GameObject>("m_BehindTheDoors");

		public GameObject m_RewardPaperBone => method_3<GameObject>("m_RewardPaperBone");

		public GameObject m_PaperMain => method_3<GameObject>("m_PaperMain");

		public Material m_PlainPaperMaterial => method_3<Material>("m_PlainPaperMaterial");

		public Material m_RewardPaperMaterial => method_3<Material>("m_RewardPaperMaterial");

		public GameObject m_RewardBoxesBone => method_3<GameObject>("m_RewardBoxesBone");

		public GameObject m_InstructionText => method_3<GameObject>("m_InstructionText");

		public GameObject m_InstructionDetailText => method_3<GameObject>("m_InstructionDetailText");

		public List<ArenaKeyVisualData> m_ArenaKeyVisualData => method_3<Class271<ArenaKeyVisualData>>("m_ArenaKeyVisualData")?.method_25();

		public RewardBoxesDisplay m_RewardBoxes => method_3<RewardBoxesDisplay>("m_RewardBoxes");

		public GameObject m_TheKeyParticleSystems => method_3<GameObject>("m_TheKeyParticleSystems");

		public GameObject m_TheKeyIdleEffects => method_3<GameObject>("m_TheKeyIdleEffects");

		public bool m_isTheKeyIdleEffectsLoading => method_2<bool>("m_isTheKeyIdleEffectsLoading");

		public ArenaRewardPaper m_RewardPaper => method_3<ArenaRewardPaper>("m_RewardPaper");

		public GameObject m_Paper => method_3<GameObject>("m_Paper");

		public bool m_isReady => method_2<bool>("m_isReady");

		public static ArenaTrayDisplay s_Instance => MonoClass.smethod_7<ArenaTrayDisplay>(TritonHs.MainAssemblyPath, "", "ArenaTrayDisplay", "s_Instance");

		public ArenaTrayDisplay(IntPtr address, string className)
			: base(address, className)
		{
		}

		public ArenaTrayDisplay(IntPtr address)
			: this(address, "ArenaTrayDisplay")
		{
		}

		public static ArenaTrayDisplay Get()
		{
			return MonoClass.smethod_15<ArenaTrayDisplay>(TritonHs.MainAssemblyPath, "", "ArenaTrayDisplay", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public bool IsReady()
		{
			return method_11<bool>("IsReady", Array.Empty<object>());
		}

		public void UpdateTray()
		{
			method_9("UpdateTray", new Class276.Enum20[0]);
		}

		public void UpdateTray(bool showNewKey)
		{
			method_9("UpdateTray", new Class276.Enum20[1] { Class276.Enum20.Boolean }, showNewKey);
		}

		public void ShowPlainPaperBackground()
		{
			method_8("ShowPlainPaperBackground");
		}

		public void ActivateKey()
		{
			method_8("ActivateKey");
		}

		public void ShowRewardsOpenAtStart()
		{
			method_8("ShowRewardsOpenAtStart");
		}

		public void ShowOpenedRewards()
		{
			method_8("ShowOpenedRewards");
		}

		public void AnimateRewards()
		{
			method_8("AnimateRewards");
		}

		public void KeyFXCancel()
		{
			method_8("KeyFXCancel");
		}

		public void UpdateKeyArt(int rank)
		{
			method_8("UpdateKeyArt", rank);
		}

		public void OnIdleEffectsLoaded(AssetReference assetRef, GameObject go, object callbackData)
		{
			method_8("OnIdleEffectsLoaded", assetRef, go, callbackData);
		}

		public void UpdateXBoxes()
		{
			method_8("UpdateXBoxes");
		}

		public void OpenRewardBox(UIEvent e)
		{
			method_9("OpenRewardBox", new Class276.Enum20[1] { Class276.Enum20.Class }, e);
		}

		public void OpenRewardBox()
		{
			method_9("OpenRewardBox", new Class276.Enum20[0]);
		}

		public void OnRewardBoxesDone()
		{
			method_8("OnRewardBoxesDone");
		}

		public void ShowPlainPaper()
		{
			method_8("ShowPlainPaper");
		}

		public void ShowRewardPaper()
		{
			method_8("ShowRewardPaper");
		}

		public void HidePaper()
		{
			method_8("HidePaper");
		}
	}
}
